推荐大家先看下一个学长的google mvp解读
网上有很多关于mvp的教程,自己也看了好多,人云亦云。所以自己跟着学长的教程总结了一个最适合自己的,传送门
看看分包
其实是按照功能分包,大家可以按照自己的习惯来
Base类
BaseView
|
|
BaseModel
|
|
BasePresenter
|
|
因为Presenter中要有View和Model的引用,我们直接在BasePresenter中进行添加,可以减少子类的代码,CompositeSubscription来管理RxJava的订阅事件,便于及时的解除订阅,防止内存泄漏。
BaseFragment
|
|
在View中我们要持有一个Presenter,在初始化Presenter的时候,我们要用到Model,所以就有了这样的BaseFragment,在Resume中进行初始化,在Destroy中进行数据的清除,防止内存泄漏
Contract(契约类)
|
|
我们为每一个功能添加一个具体的Contract契约类来管理Model,View,Presenter,因为数据的处理一般是在io线程,所以这个时候我们选择用RxJava讲Model进行封装,方便之后的直接用RxJava进行异步操作
封装网络请求
|
|
Retrofit不了解的可以看Retrofit + RxJava Retrofit 2.0
实现类
ModelImp
|
|
这里的实现是和网络请求的封装结合到一块的。
PresenterImp
|
|
因为Base中帮我们做了很好的封装,所以代码中只需要处理逻辑事件,当有订阅事件的时候直接调用addSubscribe方法,便于及时解除订阅
FragmentImp
|
|
效果图
加
使用微信添加
若你觉得我的文章对你有帮助,请添加我为好友
扫描二维码,分享此文章